Obiettivo 🎯
- Compito: Trova il percorso ottimale da un server sorgente `S` a tutti gli altri server.
- Output: Per ogni server `i`, devi calcolare:
- Latenza Totale: Il costo minimo (percorso più breve) dal server `S` al server `i`.
- Prossimo Salto: Il *primo server* su quel percorso più breve.
- Esempio: Se il percorso migliore da `S` a `D` è `S -> A -> B -> D`, il **Prossimo Salto** è `A`.
La Rete 💾
Useremo un Elenco di Adiacenza per memorizzare la rete.
- I server sono nodi.
- Le connessioni sono archi bidirezionali.
- La latenza è un peso positivo.
// Collegamenti: 0-1 (10ms), 0-2 (3ms)
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
adj = [
0:[(1, 10), (2, 3)],
1:[(0, 10)],
2:[(0, 3)],
...
]
Formato dell'Output ⚙️
Devi stampare `V` righe. Ogni riga `i` corrisponde al server `i`.
[latenza] [prossimo_salto]Per un nodo raggiungibile.
0 -1Se il nodo è la sorgente `S` stessa.
-1 -1Se il nodo non è raggiungibile da `S`.